home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Czech Logic, Card & Gambling Games
/
Logické hry.iso
/
hry
/
Fish Fillets
/
script
/
alibaba
/
code.lua
next >
Wrap
Text File
|
2005-07-16
|
10KB
|
322 lines
-- -----------------------------------------------------------------
-- Init
-- -----------------------------------------------------------------
local function prog_init()
initModels()
sound_playMusic("music/rybky07.ogg")
local pokus = getRestartCount()
local roompole = createArray(2)
-- -------------------------------------------------------------
local function prog_init_room()
local pom1, pom2, pomb1, pomb2 = 0, 0, false, false
room.cas = random(100) + 10
room.zakaz = 0
return function()
pom2 = 99
if no_dialog() and isReady(small) and isReady(big) then
if room.cas > 0 then
room.cas = room.cas - 1
else
room.cas = random(1000) + 600
pom1 = roompole[1]
if math.mod(pom1, 4) == 2 then
if room.zakaz == 1 then
pom1 = pom1 + 1
end
end
pom2 = math.mod(pom1, 4)
pom1 = pom1 + 1
pom1 = math.mod(pom1, 4)
roompole[1] = pom1
end
end
switch(pom2){
[0] = function()
addm(7, "kni-m-svicny")
if pokus < 3 or random(3) > 0 then
addv(7, "kni-v-ber")
end
end,
[1] = function()
addv(7, "kni-v-prolezt")
addm(7, "kni-m-tloustka")
addv(7, "kni-v-padavko")
addm(7, "kni-m-hromado")
adddel(7)
planBusy(big, true)
addv(1, "kni-v-vypni")
planBusy(big, false)
end,
[2] = function()
addm(7, "kni-m-hrncirstvi")
addv(7, "kni-v-amforstvi")
addm(7, "kni-m-amfornictvi")
end,
[3] = function()
addm(7, "kni-m-mise")
addv(7, "kni-v-proc")
addm(7, "kni-m-cetky")
adddel(14)
planBusy(small, true)
addm(1, "kni-m-kramy")
planBusy(small, false)
end,
}
end
end
-- -------------------------------------------------------------
local function prog_init_universal()
local pom1, pom2, pomb1, pomb2 = 0, 0, false, false
universal.co = 0
universal.kdo = 0
local treasures = {}
for i = 0, 2 do
treasures[i] = getModelsTable()[universal.index + i]
end
return function()
if universal.co == 0 then
switch(random(10)){
[1] = function()
universal.co = 1
end,
[2] = function()
universal.co = 8
end,
}
if universal.co ~= 0 then
universal.kdo = random(3)
end
elseif isRange(universal.co, 1, 3) then
treasures[universal.kdo].afaze = universal.co
universal.co = universal.co + 1
elseif isRange(universal.co, 4, 6) then
treasures[universal.kdo].afaze = 7 - universal.co
universal.co = universal.co + 1
elseif isRange(universal.co, 8, 9) then
treasures[universal.kdo].afaze = universal.co - 4
universal.co = universal.co + 1
elseif isRange(universal.co, 10, 11) then
treasures[universal.kdo].afaze = 15 - universal.co
universal.co = universal.co + 1
else
treasures[universal.kdo].afaze = 0
universal.co = 0
end
treasures[universal.kdo]:updateAnim()
end
end
-- -------------------------------------------------------------
local function prog_init_big()
return function()
if big.Y < 18 then
room.zakaz = 1
end
end
end
-- -------------------------------------------------------------
local function prog_init_pc2()
local pom1, pom2, pomb1, pomb2 = 0, 0, false, false
pc2.stav = 0
return function()
if pc2.stav > 0 then
pc2.stav = pc2.stav - 1
else
pc2.stav = random(300) + 50
end
if isRange(pc2.stav, 2, 3) then
pc2.afaze = pc2.afaze - 1
elseif isRange(pc2.stav, 6, 7) then
pc2.afaze = pc2.afaze + 1
elseif pc2.stav == 8 then
if random(2) == 1 then
pc2.afaze = 0
else
pc2.afaze = 3
end
end
pc2:updateAnim()
end
end
-- -------------------------------------------------------------
local function prog_init_switcher()
local pom1, pom2, pomb1, pomb2 = 0, 0, false, false
end
-- -------------------------------------------------------------
local function prog_init_pf2()
local pom1, pom2, pomb1, pomb2 = 0, 0, false, false
pf2.afaze = random(2)
pf2:updateAnim()
end
-- -------------------------------------------------------------
local function prog_init_db1()
return function()
if db1.dir == dir_no then
db1.afaze = 0
else
db1.afaze = 1
end
db1:updateAnim()
end
end
-- -------------------------------------------------------------
local function prog_init_pf1()
local pom1, pom2, pomb1, pomb2 = 0, 0, false, false
pf1.afaze = random(2)
pf1:updateAnim()
end
-- -------------------------------------------------------------
local function prog_init_db2()
return function()
if db2.dir == dir_no then
db2.afaze = 0
else
db2.afaze = 1
end
db2:updateAnim()
end
end
-- -------------------------------------------------------------
local function prog_init_pc1()
local pom1, pom2, pomb1, pomb2 = 0, 0, false, false
pc1.stav = 0
return function()
if pc1.stav > 0 then
pc1.stav = pc1.stav - 1
else
pc1.stav = random(300) + 50
end
if isRange(pc1.stav, 2, 3) then
pc1.afaze = pc1.afaze - 1
elseif isRange(pc1.stav, 6, 7) then
pc1.afaze = pc1.afaze + 1
elseif pc1.stav == 8 then
if random(2) == 1 then
pc1.afaze = 0
else
pc1.afaze = 3
end
end
pc1:updateAnim()
end
end
-- -------------------------------------------------------------
local function prog_init_krystal()
local pom1, pom2, pomb1, pomb2 = 0, 0, false, false
local crystals = {}
for pom1 = 0, 9 do
item = getModelsTable()[krystal.index + pom1]
crystals[pom1] = item
pom2 = random(7) * 4
item.afaze = pom2
item.glob1 = 0
item.glob2 = pom2
end
return function()
for key, item in pairs(crystals) do
if item.glob1 == 0 then
if random(25) == 1 then
item.glob1 = item.glob1 + 1
end
elseif isRange(item.glob1, 1, 5) then
item.glob1 = item.glob1 + 1
elseif item.glob1 == 6 then
item.glob1 = 0
end
if isRange(item.glob1, 0, 3) then
pom2 = item.glob1
elseif isRange(item.glob1, 4, 6) then
pom2 = 7 - item.glob1
end
item.afaze = item.glob2 + pom2
item:updateAnim()
end
end
end
-- --------------------
local update_table = {}
local subinit
subinit = prog_init_room()
if subinit then
table.insert(update_table, subinit)
end
subinit = prog_init_universal()
if subinit then
table.insert(update_table, subinit)
end
subinit = prog_init_big()
if subinit then
table.insert(update_table, subinit)
end
subinit = prog_init_pc2()
if subinit then
table.insert(update_table, subinit)
end
subinit = prog_init_switcher()
if subinit then
table.insert(update_table, subinit)
end
subinit = prog_init_pf2()
if subinit then
table.insert(update_table, subinit)
end
subinit = prog_init_db1()
if subinit then
table.insert(update_table, subinit)
end
subinit = prog_init_pf1()
if subinit then
table.insert(update_table, subinit)
end
subinit = prog_init_db2()
if subinit then
table.insert(update_table, subinit)
end
subinit = prog_init_pc1()
if subinit then
table.insert(update_table, subinit)
end
subinit = prog_init_krystal()
if subinit then
table.insert(update_table, subinit)
end
return update_table
end
local update_table = prog_init()
-- -----------------------------------------------------------------
-- Update
-- -----------------------------------------------------------------
function prog_update()
for key, subupdate in pairs(update_table) do
subupdate()
end
end